package com.link.database.service;

import com.link.database.entity.DBAccount;

import java.util.List;

public interface DBAccountService {
    
    /**
     * 根据ID查询账户
     * @param id 账户ID
     * @return 账户信息
     */
    DBAccount selectById(long id);
    
    /**
     * 查询所有账户
     * @return 账户列表
     */
    List<DBAccount> selectAll();
    
    /**
     * 根据用户名查询账户
     * @param username 用户名
     * @return 账户信息
     */
    DBAccount selectByUsername(String username);
    
    /**
     * 根据用户名和密码查询账户
     * @param username 用户名
     * @param password 密码
     * @return 账户信息
     */
    DBAccount selectByUsernameAndPassword(String username, String password);
    
    /**
     * 插入新账户
     * @param account 账户信息
     * @return 影响行数
     */
    int insert(DBAccount account);
    
    /**
     * 更新账户信息
     * @param account 账户信息
     * @return 影响行数
     */
    int update(DBAccount account);
    
    /**
     * 根据ID删除账户
     * @param id 账户ID
     * @return 影响行数
     */
    int deleteById(long id);

    /**
     *  注册账户
     * @param account
     * @return
     */
    public int register(DBAccount account);
}